강화학습 독학하면서 익숙하지 않거나 모르는 용어들을 정리해놓은 페이지입니다.개선할 부분이 있다면 댓글로 알려주세요..!
용어정리
- agent : 강화학습에서 학습하는 대상(object)를 말한다.
- action : agent가 하는 실제 행동을 말한다. action을 취하면 state가 변화한다.
- state : agent가 인식하고 있는 자신의 상태이며 action을 취하기 위한 구체적 정보이다.어떠한 action을 취하면 (environment에 의해)변화한다.
- observation : 실제문제에서 agent는 모든 state를 알기는 불가능하다. agent는 state중 일부정보만을 받는데 이것을 observation이라고 한다.
- reward : agent가 action을 취했을때 받는 보수,보상,값이다. 어떠한 action을 유도하기 위해서는 + 보상을 action을 방지하기 위해서는 -보상을 준다.
- Environment
– 1)agent가 놓여있는 world(세계)이다.
– 2)agent가 어떤 action을 취하면 state가 변화하는데 이 때 새로운 state를 return해주는 존재를 말한다.
– 3)agent가 어떤 행동을 했을때 어떤 보상을 줘야하는지에 대한 setting이다.
– 뭔가 직관적으로 이해가 가지 않는다.예시를 들어보자면 말은 안되지만 아주더운 나가기면 하면 땀나는 아프리카 사막에서 1시간 달리는 것과 시원한 헬스장에서 1시간 달리는 것을 비교해보자. 사막에서 달리는게 차원이 다른 힘듦과 체중감량 효과를 줄 것이다. 이는 같은 action을 취해도 서로다른 envirionment가 다른state를 return(제공)해주기에 그렇다. 각각의 환경은 또한 감량에 대하여 서로다른 setting에 의해 reward를 줄것이다. - policy
– agent가 어떻게 행동을 해야할지 알려주는 방향,가이드,지표의 느낌이다. 정책라는 의미가 너무 와닿지 않아서 네이버에 검색해보니 개인의 앞으로 나아갈 노선이나 취해야 할 방침라고 한다. (지표의 그냥 어려운 말)
– policy는 크게 deterministic policy와 stochastic policy로 나뉜다고 한다. 내가 이해하는대로 쉽게 말해보자면 상황에 따라서 가능한 행동이 단 한가지라면 deterministic(정해져 있는,결정론적인) policy가 있는 것이고 하고 가능한 행동이 여러가지라면 stochastic(안정해져 있는,확률론적인) policy가 있는 것이다. - return
agent는 당장에 받는 reward뿐만 아니라 미래에 받는 reward도 고려해야 한다. return은 현재의 state로부터 미래의 action,state를 전부 고려했을때 내가 미래에 받게 될 discounted reward의 총합,누적합이다. 여기서 discounted가 붙는 이유는 미래에 받게되는 reward에 대해서는 어느정도 discount가 들어가기 때문이다. discount의 양은 discount factor(\(\gamma\))에 의해 결정되는데 이값을 1에 가깝게 할수록 미래에 받는 action 대한 reward의 discount가 커지고 0에 가깝게 할수록 미래의 action에 대한 reward의 discount가 작아진다. 강화학습의 최종 목적은 평균적으로 받는 return이 가장 커지도록(return도 랜덤이기 때문에 평균적으로 커져야 한다.)policy를 학습하는 것이다. - exploration
현재 agent가 가지고 있는 사전지식,경험을 버리고 틀을깨어 새로운 방식으로 action하여 보는 것을 의미한다. 랜덤한 확률(\(\epsilon\))로 policy를 거슬러서 다른 모든 액션중에 랜덤한 하나의 action을 취하게 된다. locacl optima에서 벗어나 최적의 policy를 탐색할 더 많은 기회를 제공한다. - exploitation
현재 agent가 가지고 있는 사전지식,경험을 최대한 활용하여 action을 취하는 것을 말한다. - exploration exploitation trade off
너무 exploitation만 할 경우 사전지식만을 가지고 action하여 더 좋은 policy를 찾지 못하고 너무 exploration 위주인 경우 사전지식은 활용하지 않게되고 학습이 더디게 진행된다.
비유적으로 생각해보자.만약에 내가 엄청 살이찐 상태(state)에서 나 자신을 강화학습?한다고 하자. 2달동안 살을 빼는 것을 목적으로 하고 BMI수치가 좋아지면 reward를 받는다고 하자.나(agent)는 여러가지 운동(action)을 해볼 수 있다. 처음에는 조금 힘드니까 쉬운 운동(걷기?숨쉬기..)정도 하지만 이렇게 하면 나는 절대로 몸무게가 빠지지 않거나 오히려 더 찌는 상황(state)이 발생할 수 있다.(reward가 0이거나 오히려 -reward)
이렇게 될 경우 해야할 운동의 방향(policy)에 대해 다시 생각해본다. 생각해봤더니 걷기,달리기,근력운동,굶기 같은 더 좋은 방법,운동들이 있었고 이번에는 그러한 방법들을 실천해본다. 이러한 경우들 모두 BMI수치가 개선되어 더 좋아졌는데 그런데 굶기의 경우 당장에 가장 많이 BMI수치가 개선되어 앞으로도 이 방법만 선택한다고 해보자. BMI수치는 근육량도 고려하기 때문에 장기적으로 볼때 굶기만 한다면 몸무게가 빠지긴 하는데 결국에는 근육만 다 빠져서 결국에는 몸이 안좋아질 것이다.(reward의 합인 return을 고려하는 이유!) 그러므로 굶는 방법은 어느정도 자제하고 걷기,뛰기,근력운동하기 위주로 내가 운동해야할 방향이 결정된다.
exploration exploitation tradeoff
살을 빼고 있는데 어느날 갑자기 친구가 내가 정한 운동시간 말고 같이 운동하자고 했다. 근데 나는 여태까지 밤에 산책하는게 좋았기에 (밤에 산책하기가) 거절한다고 하면 이건 exploitation 위주로 학습을 하는 것이다. 이와는 다르게 낮에 친구의 제안을 받아들여 같이 헬스장으로 운동하러 가는거면 이는 exploration위주로 학습을 해봤다고 할 수 있다. 중요한 점은 이 둘 사이에는 tradeoff가 있다는 것이다. 너무 exploitation만 하면 더 좋은 방법(친구가 잘 맞으면 최종적으로는 더 운동을 많이하게 되어 BMI가 낮아질 것이다.)을 놓치게 되고 너무 exploration만 할 경우는(여러명의 친구에게 제안이 왔다면 그 친구중에는 운동은 별로안하는데 끝나고 같이치킨먹는 좋은?친구도 있다.)학습을 더디게 한다. 이러한 tradeoff가 있어서 결국에 2달동안 최대한 살을 많이 빼려는 궁극적인 목적을 이루려면 이 둘 사이의 tradeoff를 잘 조절하는 것이 중요한 요소이다.
롤로 비유하는 것도 가능하다. 최종적으로 새롭게 시작되는 2023시즌에 챌린저를 가는게 목표라고 하자. 하던챔만 계속하는 것이 exploitation이고 다른챔도 해보는게 exploitation이다. 하던챔만 하면 나는 모르지만 내가 재능을 가진 챔피언을 영원히 모를수도 있고 재능을 가진 챔피언을 찾고자 새로운 챔피언만 계속하다보면 경험치가 잘 쌓이지 않고 학습이 더디게 된다. 여기서도 마찬가지로 2023 - 챌린저라는 목표를 이루기 위해서는 둘 사이의 tradeoff를 적절히 조절하는게 중요하다.